/**
 * created by yangtong on 2025/5/26 21:48:02
 */
export const copyToClipboard = (text: string) => {
    if (text) {
        navigator.clipboard.writeText(text)
            .then(() => {
                console.log(`已复制: ${text}`);
            })
            .catch(err => {
                console.error('复制失败: ', err);
            });
    }
}

/**
 * 计算字符串的显示宽度（粗略估算）
 * @param text 要计算的文本
 * @param fontSize 字体大小，默认14px
 * @returns 估算的像素宽度
 */
export const calculateTextWidth = (text: string | undefined, fontSize = 14): number => {
    if (!text) {
        return 20
    }
    // 粗略估算：中文字符约等于1个字体大小，英文字符约0.6个字体大小
    let width = 0
    for (let i = 0; i < text.length; i++) {
        const char = text[i]
        // 判断是否为中文字符
        if (/[\u4e00-\u9fa5]/.test(char)) {
            width += fontSize
        } else {
            width += fontSize * 0.6
        }
    }
    return Math.ceil(width)
}